package com.hiv.common.param.page;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hiv.common.PageQueryParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author zhanghong
 * @version PageQuerySamplingRecordParam.java, v 0.1 2022-09-20 PageQuerySamplingRecordParam Exp $$
 */
@Data
@NoArgsConstructor
@ApiModel( value = "分页查询", parent = PageQueryParam.class)
public class PageQuerySamplingRecordParam extends PageQueryParam implements Serializable {
    @ApiModelProperty("检验所id")
    private Long inspectionId;
    @ApiModelProperty("医院id")
    private Long hospitalId;
    @ApiModelProperty("采样员id")
    private Long samplerId;
    @ApiModelProperty("抗病毒编码")
    private String antiviralCode;
    @ApiModelProperty("采样条形码")
    private String barCode;
    @ApiModelProperty("类型 1病载含量检测 2耐药性检测")
    private Integer checkType;
    @ApiModelProperty("采样状态 0失败 1成功")
    private Integer samplingStatus;
    @ApiModelProperty("样品状态  0待送检 1入库正常 2样品破损 3额外样品 4其他异常 5待检测 6已完成 7检测中")
    private Integer sampleStatus;
    @ApiModelProperty("抗病毒编码或者条码")
    private String antiviralCodeOrBarCode;
    @ApiModelProperty("快递编号或者盒子编号")
    private String expressCodeOrBoxCode;
    @ApiModelProperty("采集时间范围查询#开始时间")
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private Date startTime;
    @ApiModelProperty("采集时间范围查询#结束时间")
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private Date endTime;
    @ApiModelProperty("检测时样品状态 1样品正常 2样品异常")
    private Integer inspectionSamplingStatus;
    @ApiModelProperty("是否查询异常数据 0否 1是")
    private Integer queryException=0;
    @ApiModelProperty("完善状态 1待完善 2已提交")
    private Integer completeStatus;
    @ApiModelProperty("审核状态 1待审核 2已通过 3已驳回")
    private Integer auditStatus;
    @ApiModelProperty("批准状态 1待批准 2已批准")
    private Integer ratifyStatus;
    @ApiModelProperty("报告状态 1待生成 2已生成")
    private Integer reportStatus;

    @ApiModelProperty("样品状态集合")
    private List<Integer> sampleStatusList;
    @ApiModelProperty("审核状态集合")
    private List<Integer> auditStatusList;
    @ApiModelProperty("批准状态集合")
    private List<Integer> ratifyStatusList;
    @ApiModelProperty("+快递单号or批次号")
    private String expressOrBatchCode;
    @ApiModelProperty("医院id集合")
    private List<Long> hospitalIdList;
}

